/*
* TFGamePiece.h
*
* Each position on the board (see TFBoard.h) has a game piece.
* The piece can be of different types (troop, flag, barricade or empty).
* It also has different colors and points to capture.
* 
* Author: Rapid Dojo
* Date: Oct 19, 2007
*/

#ifndef TFGAMEPIECE_H
#define TFGAMEPIECE_H

#include "TFConstants.h"

class TFGamePiece
{
public:
	TFGamePiece(TF_PIECE_STATE piece, TF_PLAYERS color,	int points);
	TFGamePiece();

	~TFGamePiece();

	TFGamePiece operator=(TFGamePiece ob);
	TF_PIECE_STATE GetPiece() { return piece; }
	void SetPiece(TF_PIECE_STATE newPiece) { piece = newPiece; }

	TF_PLAYERS GetColor() { return color; }
	void SetColor(TF_PLAYERS newColor) { color = newColor; }
	int GetPoints() { return points; }
	void SetPoints(int newPoints) { points = newPoints; }
	void UsePoint() { points--; }

private:
	TF_PIECE_STATE piece;
	TF_PLAYERS color;
	int points;
};

#endif
